doCreateWorkflowRequest
1、生成WorkflowRequestInfo
对象 WorkflowRequestInfo
对象属性层级参考下图说明
3、WorkflowRequestInfo对象说明
流程接口中,请求对象类为WorkflowRequestInfo
,
对象参见属性如下。
private java.lang.String createTime;//创建时间
private java.lang.String creatorId;//创建人
private java.lang.String creatorName;//创建人姓名
private java.lang.String currentNodeId;//当前节点ID
private java.lang.String currentNodeName;//当前节点名称
private java.lang.String lastOperateTime;//最后操作时间
private java.lang.String lastOperatorName;//最后操作人姓名
private java.lang.String messageType;//消息提醒类型
private java.lang.Boolean mustInputRemark;//签字意见必填
private java.lang.String receiveTime;//接收时间
private java.lang.String remark;//当前签字意见
private java.lang.String requestId;//请求id
private java.lang.String requestLevel;//紧急程度
private java.lang.String requestName;//请求名称
private java.lang.String status;//流程状态
private weaver.workflow.webservices.WorkflowBaseInfo workflowBaseInfo;//流程信息对象
private weaver.workflow.webservices.WorkflowDetailTableInfo[] workflowDetailTableInfos;
//明细表数据
private java.lang.String[] workflowHtmlTemplete;//HTML模板
private weaver.workflow.webservices.WorkflowMainTableInfo workflowMainTableInfo;
//主表信息
private java.lang.String[][] workflowPhrases;//流程批示语
private weaver.workflow.webservices.WorkflowRequestLog[] workflowRequestLogs;//流转日志
4、调用方法说明
根据请求信息对象创建一条新的流程,请求信息对象中需包含创建人、创建流程id和表单的数据
方法名 | 作用 | 参数 |
---|---|---|
创建新流程 | doCreateWorkflowRequest | WorkflowRequestInfo
wri :请求信息对象 userId : 用户id |
5、示例代码
示例流程
以下述流程为例,进行调用流程相关的接口
调用流程创建相关的接口示例代码
public static void createRequest() throws Exception {
//主字段
WorkflowRequestTableField[] wrti = new WorkflowRequestTableField[6]; //字段信息
wrti[0] = new WorkflowRequestTableField();
wrti[0].setFieldName("sqr");//
wrti[0].setFieldValue("14");//
wrti[0].setView(true);//字段是否可见
wrti[0].setEdit(true);//字段是否可编辑
wrti[1] = new WorkflowRequestTableField();
wrti[1].setFieldName("bm");//
wrti[1].setFieldValue("13");
wrti[1].setView(true);
wrti[1].setEdit(true);
wrti[2] = new WorkflowRequestTableField();
wrti[2].setFieldName("sqsj");//
wrti[2].setFieldValue("2016-09-01");
wrti[2].setView(true);
wrti[2].setEdit(true);
wrti[3] = new WorkflowRequestTableField();
wrti[3].setFieldName("xgfj");//附件1
wrti[3].setFieldType("http:baidu_sylogo1.gif|http:126logo.gif");//http:开头代表该字段为附件字段
wrti[3].setFieldValue("http://www.baidu.com/img/baidu_sylogo1.gif|http://mimg.127.net/logo/126logo.gif");//附件地址
wrti[3].setView(true);
wrti[3].setEdit(true);
wrti[4] = new WorkflowRequestTableField();
wrti[4].setFieldName("spld");//审批领导
wrti[4].setFieldValue("3,4");
wrti[4].setView(true);
wrti[4].setEdit(true);
wrti[5] = new WorkflowRequestTableField();
wrti[5].setFieldName("spsy");//事由
wrti[5].setFieldValue("这里是个多上多行文本的内容。。。");
wrti[5].setView(true);
wrti[5].setEdit(true);
WorkflowRequestTableRecord[] wrtri = new WorkflowRequestTableRecord[1];//主字段只有一行数据
wrtri[0] = new WorkflowRequestTableRecord();
wrtri[0].setWorkflowRequestTableFields(wrti);
WorkflowMainTableInfo wmi = new WorkflowMainTableInfo();
wmi.setRequestRecords(wrtri);
int detailrows = 3 ;//添加指定条数明细
//添加明细数据
wrtri = new WorkflowRequestTableRecord[detailrows];//添加指定条数行明细数据
for(int i = 0 ; i < detailrows ; i++){
//每行明细对应的字段
wrti = new WorkflowRequestTableField[4]; //字段信息
wrti[0] = new WorkflowRequestTableField();
wrti[0].setFieldName("rq");//单价
wrti[0].setFieldValue("2016-09-2"+i);
wrti[0].setView(true);//字段是否可见
wrti[0].setEdit(true);//字段是否可编辑
wrti[1] = new WorkflowRequestTableField();
wrti[1].setFieldName("xh");//数量
wrti[1].setFieldValue("型号001"+i);
wrti[1].setView(true);
wrti[1].setEdit(true);
wrti[2] = new WorkflowRequestTableField();
wrti[2].setFieldName("lx");//类型 下拉框
wrti[2].setFieldValue(""+i);
wrti[2].setView(true);
wrti[2].setEdit(true);
wrti[3] = new WorkflowRequestTableField();
wrti[3].setFieldName("jg");//价格
wrti[3].setFieldValue("1"+i+".50");
wrti[3].setView(true);
wrti[3].setEdit(true);
wrtri[i] = new WorkflowRequestTableRecord();
wrtri[i].setWorkflowRequestTableFields(wrti);
}
//添加到明细表中
WorkflowDetailTableInfo WorkflowDetailTableInfo[] = new WorkflowDetailTableInfo[1];//指定明细表的个数,多个明细表指定多个,顺序按照明细的顺序
WorkflowDetailTableInfo[0] = new WorkflowDetailTableInfo();
WorkflowDetailTableInfo[0].setWorkflowRequestTableRecords(wrtri);
//添加工作流id
WorkflowBaseInfo wbi = new WorkflowBaseInfo();
wbi.setWorkflowId("38");//workflowid 流程接口演示流程2016==38
WorkflowRequestInfo wri = new WorkflowRequestInfo();//流程基本信息
wri.setCreatorId("14");//创建人id
wri.setRequestLevel("2");//0 正常,1重要,2紧急
wri.setRequestName("2016-09-24 001");//流程标题
wri.setWorkflowMainTableInfo(wmi);//添加主字段数据
wri.setWorkflowDetailTableInfos(WorkflowDetailTableInfo);//添加明细数据
wri.setWorkflowBaseInfo(wbi);
WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy(url);
String requestid = WorkflowServicePortTypeProxy.doCreateWorkflowRequest(wri, 14);
System.out.println("requestid:"+requestid);
}
调用流程创建接口返回对应的结果
登录系统打开流程,
6、返回值说明
返回请求创建成功的requestid或者创建失败的错误代码
返回值 | 说明 |
---|---|
requestid > 0 | 创建流程成功,返回请求id |
requestid = -1 | 创建流程失败 |
requestid = -2 | 用户没有流程创建权限 |
requestid = -3 | 创建流程基本信息失败 |
requestid = -4 | 保存表单主表信息失败 |
requestid = -5 | 更新紧急程度失败 |
requestid = -6 | 流程操作者失败 |
requestid = -7 | 流转至下一节点失败 |
requestid = -8 | 节点附加操作失败 |